Micron Document
NexusPi Git Node

Commit 048da61bd92cef15caedd9dbc6f49517777ea6d5


Parents : 0b1c264
Author : Chad Attermann <attermann@gmail.com>
Date : 2026-06-09T12:46:16-06:00

Provisioning enhancements and build optimzation

- Optimized build environment to accomodate TRACE logging on NRF52
targets.
- Added transport identity and announced destination to Provisioning and
NomadNet pages.
- Made NomadNet site name configurable

Changes

5 files changed, 92 insertions(+), 75 deletions(-)

M Pages.h +5
M Provisioning.h +12 -5
M platformio.ini +37 -40

Diff

diff --git a/Pages.h b/Pages.h
index 699e7a5..4cd2644 100644
--- a/Pages.h
+++ b/Pages.h
@@ -36,6 +36,7 @@ extern uint16_t udp_port;
extern uint8_t wifi_mode;
extern char wr_ssid[];
#endif
+extern RNS::Destination nomadnet_destination;
void add_interface_details(RNS::Bytes& content, const RNS::Interface& interface) {
content << " \"mode\": \"";
@@ -250,6 +251,10 @@ RNS::Bytes serve_page(
break;
}
content << "\",\n";
+ content << " \"transport_identity\": \"" << (RNS::Transport::identity() ? RNS::Transport::identity().hash().toHex() : RNS::Bytes{}.toHex()) << "\",\n";
+ content << " \"probe_destination\": \"" << (RNS::Transport::probe_destination() ? RNS::Transport::probe_destination().hash().toHex() : RNS::Bytes{}.toHex()) << "\",\n";
+ content << " \"mgmt_destination\": \"" << (RNS::Transport::remote_management_destination() ? RNS::Transport::remote_management_destination().hash().toHex() : RNS::Bytes{}.toHex()) << "\",\n";
+ content << " \"nomadnet_destination\": \"" << (nomadnet_destination ? nomadnet_destination.hash().toHex() : RNS::Bytes{}.toHex()) << "\",\n";
content << "}";
}
else if (category == "interfaces") {

diff --git a/Provisioning.cpp b/Provisioning.cpp
index efe6843..1154bd4 100644
--- a/Provisioning.cpp
+++ b/Provisioning.cpp
@@ -25,7 +25,11 @@
#define CMD_LOG 0x80
#define CMD_PROVISION_RSP 0x87
+#include <microReticulum/Transport.h>
+#include <microReticulum/Reticulum.h>
#include <microReticulum/Interface.h>
+#include <microReticulum/Identity.h>
+#include <microReticulum/Destination.h>
#include <microReticulum/Provisioning/Provisioning.h>
#include <string>
@@ -59,6 +63,8 @@ extern char wr_ssid[];
#endif
extern bool kiss_framed_logs;
extern bool nomadnet_enabled;
+extern RNS::Destination nomadnet_destination;
+extern char nomadnet_name[64];
// ---------------------------------------------------------------------------
// External hooks into the rest of the firmware.
@@ -104,9 +110,12 @@ static void register_provisioning_namespaces() {
#ifdef URTN_STATS_PAGES
general
- .field_bool("nomadnet_enabled", PROV_GENERAL_NOMADNET, FF_REBOOT_REQUIRED, nomadnet_enabled,
+ .field_bool("nomadnet_enabled", PROV_GENERAL_NOMADNET_ENABLE, FF_REBOOT_REQUIRED, nomadnet_enabled,
[](const Value& v) { nomadnet_enabled = v.as_bool(); return true; },
- []() { return nomadnet_enabled; });
+ []() { return nomadnet_enabled; })
+ .field_string("nomadnet_name", PROV_GENERAL_NOMADNET_NAME, FF_REBOOT_REQUIRED, nomadnet_name, 63,
+ [](const Value& v) { strncpy(nomadnet_name, v.as_string().c_str(), sizeof(nomadnet_name)); return true; },
+ []() { return nomadnet_name; });
#endif
#if defined(LORA_TRANSPORT)
@@ -179,10 +188,16 @@ static void register_provisioning_namespaces() {
// interface object reports it has a live implementation (operator bool
// on RNS::Interface). Compile-time guards remain only where they need
// to — UDP's externs aren't declared without UDP_TRANSPORT.
- auto metrics_ifaces = Manager::instance()
- .namespace_("Metrics", PROV_NS_METRICS)
- .namespace_("Interfaces", PROV_NS_METRICS_IFACE);
+ auto metrics = Manager::instance().namespace_("Metrics", PROV_NS_METRICS);
+ metrics.namespace_("Destinations", PROV_NS_METRICS_DSTS)
+ .metric_bytes("transport_identity", PROV_METRICS_TRANS_ID, []() { return RNS::Transport::identity() ? RNS::Transport::identity().hash() : RNS::Bytes{}; })
+ .metric_bytes("probe_destination", PROV_METRICS_PROBE_DST, []() { return RNS::Transport::probe_destination() ? RNS::Transport::probe_destination().hash() : RNS::Bytes{}; })
+ .metric_bytes("mgmt_destination", PROV_METRICS_MGMT_DST, []() { return RNS::Transport::remote_management_destination() ? RNS::Transport::remote_management_destination().hash() : RNS::Bytes{}; })
+ .metric_bytes("nomadnet_destination", PROV_METRICS_NOMAD_DST, []() { return nomadnet_destination ? nomadnet_destination.hash() : RNS::Bytes{}; })
+ .end();
+
+ auto metrics_ifaces = metrics.namespace_("Interfaces", PROV_NS_METRICS_IFACE);
#if defined(LORA_TRANSPORT)
if (lora_interface) {
metrics_ifaces
@@ -201,7 +216,6 @@ static void register_provisioning_namespaces() {
.end();
}
#endif
-
#if defined(UDP_TRANSPORT)
if (udp_interface) {
metrics_ifaces
@@ -213,10 +227,9 @@ static void register_provisioning_namespaces() {
.end();
}
#endif
+ metrics_ifaces.end(); // close "Interfaces"
- metrics_ifaces
- .end() // close "Interfaces"
- .end(); // close "Metrics"
+ metrics.end(); // close "Metrics"
// ----- radio namespace (DISABLED) -----
//

diff --git a/Provisioning.h b/Provisioning.h
index 47acaa9..8a78ad2 100644
--- a/Provisioning.h
+++ b/Provisioning.h
@@ -47,11 +47,18 @@
#define PROV_NS_METRICS_IFACE 104
#define PROV_NS_IFACE_LORA 105
#define PROV_NS_IFACE_UDP 106
-
-#define PROV_GENERAL_KISS_LOG 1
-#define PROV_GENERAL_LORA_MODE 2
-#define PROV_GENERAL_UDP_MODE 3
-#define PROV_GENERAL_NOMADNET 4
+#define PROV_NS_METRICS_DSTS 107
+
+#define PROV_GENERAL_KISS_LOG 1
+#define PROV_GENERAL_LORA_MODE 2
+#define PROV_GENERAL_UDP_MODE 3
+#define PROV_GENERAL_NOMADNET_ENABLE 4
+#define PROV_GENERAL_NOMADNET_NAME 5
+
+#define PROV_METRICS_TRANS_ID 1
+#define PROV_METRICS_PROBE_DST 2
+#define PROV_METRICS_MGMT_DST 3
+#define PROV_METRICS_NOMAD_DST 4
#define PROV_METRICS_LORA_FREQ 1
#define PROV_METRICS_LORA_BW 2

diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino
index 643268d..7e15c1c 100644
--- a/RNode_Firmware.ino
+++ b/RNode_Firmware.ino
@@ -77,6 +77,8 @@ bool kiss_framed_logs = false;
bool kiss_framed_logs = true;
#endif
bool nomadnet_enabled = true;
+RNS::Destination nomadnet_destination = {RNS::Type::NONE};
+char nomadnet_name[64];
#if HAS_CONSOLE
#include "Console.h"
@@ -770,6 +772,11 @@ void setup() {
// Provisioning default
reticulum.remote_management_enabled(true);
+#ifdef URTN_STATS_PAGES
+ // Provisioning default
+ snprintf(nomadnet_name, sizeof(nomadnet_name), "microReticulum Node [%s]", device_uid_str);
+#endif
+
#ifdef HAS_PROVISIONING
// Bring the Provisioning subsystem up. Loads persisted MsgPack files
// (including the radio + general namespaces registered here) and fires
@@ -839,43 +846,31 @@ void setup() {
// Create an IN/SINGLE destination on the NomadNet aspect, so
// clients (this example, or a Python NomadNet browser) can find
// us by aspect/announce and open a Link.
- RNS::Destination stats_destination = RNS::Destination(
+ nomadnet_destination = RNS::Destination(
RNS::Transport::identity(),
RNS::Type::Destination::IN,
RNS::Type::Destination::SINGLE,
"nomadnetwork",
"node"
);
-/*
- RNS::Destination stats_destination = RNS::Destination(
- RNS::Transport::identity(),
- RNS::Type::Destination::IN,
- RNS::Type::Destination::SINGLE,
- "rnstransport",
- "remote.management"
- );
-*/
// Register the page handler. ALLOW_ALL because page browsing is open
// to anyone who can reach the node, just like a Python NomadNet
// node's default policy.
- //stats_destination.register_request_handler("/page/index.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
- stats_destination.register_request_handler("/page/index.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
- stats_destination.register_request_handler("/page/stack.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
- //stats_destination.register_request_handler("/page/stack.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
- stats_destination.register_request_handler("/page/device.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
- //stats_destination.register_request_handler("/page/device.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
+ //nomadnet_destination.register_request_handler("/page/index.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
+ nomadnet_destination.register_request_handler("/page/index.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
+ nomadnet_destination.register_request_handler("/page/stack.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
+ //nomadnet_destination.register_request_handler("/page/stack.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
+ nomadnet_destination.register_request_handler("/page/device.mu", serve_page, RNS::Type::Destination::ALLOW_LIST, RNS::Transport::remote_management_allowed());
+ //nomadnet_destination.register_request_handler("/page/device.mu", serve_page, RNS::Type::Destination::ALLOW_ALL);
// Announce once at startup so a client that's already listening can
// discover us immediately. The node name is sent as the announce
// app_data (plain UTF-8 bytes), matching nomadnet/Node.py:217-222 —
// this is what other NomadNet clients show in their site listing.
{
- char stats_announce_data[64];
- snprintf(stats_announce_data, sizeof(stats_announce_data),
- "microReticulum Node [%s]", device_uid_str);
- NOTICEF("Announcing NomadNet site \"%s\" at destination <%s>", stats_announce_data, stats_destination.hash().toHex().c_str());
- stats_destination.announce(stats_announce_data);
+ NOTICEF("Announcing NomadNet site \"%s\" at destination <%s>", nomadnet_name, nomadnet_destination.hash().toHex().c_str());
+ nomadnet_destination.announce(nomadnet_name);
}
}
#endif // URTN_STATS_PAGES

diff --git a/platformio.ini b/platformio.ini
index fe25787..c23a393 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -96,13 +96,15 @@ lib_deps =
; default filter prevents native/PinMap.cpp's EEPROM shim from colliding
; with the Arduino-ESP32 framework's EEPROM global on embedded builds.
;build_src_filter = +<*> -<variants/> -<native/>
+; Only include cpp/ino files (currenty no subdirectories)
build_src_filter = -<*> +<*.ino> +<*.cpp>
extra_scripts = pre:extra_script.py
+; For embedded environments (ESP32 and NRF52)
[env:embedded]
framework = arduino
monitor_speed = 115200
-upload_speed = 460800
+;upload_speed = 460800
build_unflags =
${env.build_unflags}
-std=gnu++11
@@ -114,6 +116,23 @@ lib_deps =
${env.lib_deps}
adafruit/Adafruit SSD1306@^2.5.9
+; For constrained embedded environments (especially NRF52)
+[env:embedded-size-opt]
+build_unflags =
+ ${env:embedded.build_unflags}
+ -Og ; Optimization: removes pio-added optimization flag
+ ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
+build_flags =
+ ${env:embedded.build_flags}
+ -Os ; Optimization
+ -fno-inline-functions ; Optimization
+ -fno-inline-small-functions ; Optimization
+ -fno-use-cxa-atexit ; Optimization
+ -fmerge-all-constants ; Optimization
+ ;-DHAS_PROVISIONING
+ ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
+ ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_VERBOSE ; Lower maximum supported log verbosity to VERBOSE to reduce firmware size
+
[env:rnode-ng-20]
extends = env:embedded
platform = espressif32
@@ -167,7 +186,7 @@ extends = env:embedded
platform = espressif32
board = ttgo-t-beam
custom_variant = tbeam
-board_build.partitions = no_ota.csv. ; 2MB Firmware / 2MB Filesystem
+board_build.partitions = no_ota.csv ; 2MB Firmware / 2MB Filesystem
;board_build.partitions = huge_app.csv ; 3MB Firmware / 1MB Filesystem
board_build.filesystem = littlefs
build_unflags =
@@ -182,7 +201,7 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=500
-DRNS_PATH_TABLE_SEGMENT_SIZE=24576 ; 24 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=8
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
+ -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
XPowersLib@^0.2.1
@@ -215,7 +234,7 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=500
-DRNS_PATH_TABLE_SEGMENT_SIZE=24576 ; 24 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=8
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
+ -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
XPowersLib@^0.2.1
@@ -758,22 +777,20 @@ extends = env:embedded
platform = nordicnrf52
board = rak4630
custom_variant = rak4631
+board_build.variants_dir = variants
+board_build.variant = rak4630
;board_build.partitions = no_ota.csv ; Does not apply to nordicnrf52 builds
board_build.filesystem = littlefs
-build_src_filter = ${env:embedded.build_src_filter} +<variants/rak4630>
build_unflags =
- ${env:embedded.build_unflags}
+ ${env:embedded-size-opt.build_unflags}
-fno-exceptions ; Required for exception handling on nordicnrf52
-fno-rtti ; Required for exception handling on nordicnrf52
--specs=nano.specs ; Required for exception handling on nordicnrf52
- ;-DHAS_PROVISIONING ; nRF52 flash too tight to include Provisioning
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-fexceptions ; Required for exception handling on nordicnrf52
-frtti ; Required for exception handling on nordicnrf52
--specs=nosys.specs ; Required for exception handling on nordicnrf52
- -I variants/rak4630
-DBOARD_MODEL=BOARD_RAK4631
-DRNS_CONTAINER_ALLOCATOR=RNS_HEAP_POOL_ALLOCATOR
-DRNS_HEAP_POOL_BUFFER_SIZE=131072
@@ -782,8 +799,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=25
-DRNS_PATH_TABLE_SEGMENT_SIZE=2048 ; 2 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=6
- ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_VERBOSE ; Lower maximum supported log verbosity to VERBOSE to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
https://github.com/attermann/microStore.git
@@ -811,14 +826,12 @@ board_build.filesystem = littlefs
; never initializes.
lib_archive = no
build_unflags =
- ${env:embedded.build_unflags}
+ ${env:embedded-size-opt.build_unflags}
-fno-exceptions ; Required for exception handling on nordicnrf52
-fno-rtti ; Required for exception handling on nordicnrf52
--specs=nano.specs ; Required for exception handling on nordicnrf52
- ;-DHAS_PROVISIONING ; nRF52 flash too tight to include Provisioning
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-fexceptions ; Required for exception handling on nordicnrf52
-frtti ; Required for exception handling on nordicnrf52
--specs=nosys.specs ; Required for exception handling on nordicnrf52
@@ -831,8 +844,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=25
-DRNS_PATH_TABLE_SEGMENT_SIZE=2048 ; 2 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=6
- ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_VERBOSE ; Lower maximum supported log verbosity to VERBOSE to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
https://github.com/liamcottle/esp8266-oled-ssd1306#e16cee124fe26490cb14880c679321ad8ac89c95
@@ -853,10 +864,9 @@ custom_variant = tbeam_local
board_build.partitions = no_ota.csv
board_build.filesystem = littlefs
build_unflags =
- ${env:embedded.build_unflags}
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
+ ${env:embedded-size-opt.build_unflags}
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-DBOARD_MODEL=BOARD_TBEAM
-DBOARD_HAS_PSRAM=1
-DRNS_CONTAINER_ALLOCATOR=RNS_PSRAM_ALLOCATOR
@@ -865,7 +875,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=500
-DRNS_PATH_TABLE_SEGMENT_SIZE=24576 ; 24 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=8
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
XPowersLib@^0.2.1
@@ -1074,21 +1083,17 @@ board_build.variants_dir = variants
board_build.variant = rak4630
board_build.partitions = no_ota.csv
board_build.filesystem = littlefs
-;build_src_filter = ${env:embedded.build_src_filter} +<variants/rak4630>
build_unflags =
- ${env:embedded.build_unflags}
+ ${env:embedded-size-opt.build_unflags}
-fno-exceptions ; Required for exception handling on nordicnrf52
-fno-rtti ; Required for exception handling on nordicnrf52
--specs=nano.specs ; Required for exception handling on nordicnrf52
- ;-DHAS_PROVISIONING ; nRF52 flash too tight to include Provisioning
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-fexceptions ; Required for exception handling on nordicnrf52
-frtti ; Required for exception handling on nordicnrf52
--specs=nosys.specs ; Required for exception handling on nordicnrf52
;-Wl,-Map,output.map
- ;-I variants/rak4630
-DBOARD_MODEL=BOARD_RAK4631
; CBA TEST
;-DRNS_DEFAULT_ALLOCATOR=RNS_HEAP_ALLOCATOR
@@ -1103,8 +1108,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=25
-DRNS_PATH_TABLE_SEGMENT_SIZE=2048 ; 2 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=6
- ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_VERBOSE ; Lower maximum supported log verbosity to VERBOSE to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
microStore=symlink://../microStore
@@ -1134,14 +1137,13 @@ board_build.filesystem = littlefs
; never initializes.
lib_archive = no
build_unflags =
- ${env:embedded.build_unflags}
+ ${env:embedded-size-opt.build_unflags}
-fno-exceptions ; Required for exception handling on nordicnrf52
-fno-rtti ; Required for exception handling on nordicnrf52
--specs=nano.specs ; Required for exception handling on nordicnrf52
;-DHAS_PROVISIONING ; nRF52 flash too tight to include Provisioning
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-fexceptions ; Required for exception handling on nordicnrf52
-frtti ; Required for exception handling on nordicnrf52
--specs=nosys.specs ; Required for exception handling on nordicnrf52
@@ -1154,8 +1156,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=25
-DRNS_PATH_TABLE_SEGMENT_SIZE=2048 ; 2 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=6
- ;-DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_VERBOSE ; Lower maximum supported log verbosity to VERBOSE to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
https://github.com/liamcottle/esp8266-oled-ssd1306#e16cee124fe26490cb14880c679321ad8ac89c95
@@ -1183,14 +1183,12 @@ custom_variant = heltec_t114_local
;board_build.partitions = no_ota.csv
board_build.filesystem = littlefs
build_unflags =
- ${env:embedded.build_unflags}
+ ${env:embedded-size-opt.build_unflags}
-fno-exceptions ; Required for exception handling on nordicnrf52
-fno-rtti ; Required for exception handling on nordicnrf52
--specs=nano.specs ; Required for exception handling on nordicnrf52
- ;-DHAS_PROVISIONING ; nRF52 flash too tight to include Provisioning
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_TRACE
build_flags =
- ${env:embedded.build_flags}
+ ${env:embedded-size-opt.build_flags}
-fexceptions ; Required for exception handling on nordicnrf52
-frtti ; Required for exception handling on nordicnrf52
--specs=nosys.specs ; Required for exception handling on nordicnrf52
@@ -1202,7 +1200,6 @@ build_flags =
-DURTN_PATH_TABLE_MAX_RECS=25
-DRNS_PATH_TABLE_SEGMENT_SIZE=2048 ; 2 KB
-DRNS_PATH_TABLE_SEGMENT_COUNT=6
- -DRNS_LOG_LEVEL=RNS_LOG_LEVEL_DEBUG ; Lower maximum supported log verbosity to DEBUG to reduce firmware size
lib_deps =
${env:embedded.lib_deps}
https://github.com/liamcottle/esp8266-oled-ssd1306#e16cee124fe26490cb14880c679321ad8ac89c95

Served by rngit 1.5.2 - Generated in 0.03s